package basis.netease.medium;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 7-1 连续的子数组和
 * 给你一个整数数组 nums 和一个整数 k ，编写一个函数来判断该数组是否含有同时满足下述条件的连续子数组：
 * 子数组大小 至少为 2 ，且
 * 子数组元素总和为 k 的倍数。
 * 如果存在，返回 1 ；否则，返回 0 。
 * 如果存在一个整数 n ，令整数 x 符合 x = n * k ，则称 x 是 k 的一个倍数。0 始终视为 k 的一个倍数。
 * 提示：
 * 1 <= nums.length <= 10^5
 * 0 <= nums[i] <= 10^9
 * 0 <= sum(nums[i]) <= 2^31 - 1
 * 1 <= k <= 2^31 - 1
 * 输入第一行为数组nums，第二行为整数k
 * 输入样例1:
 * 在这里给出一组输入。例如：
 * 23,2,4,6,7
 * 6
 * 输出样例1:
 * 在这里给出相应的输出。例如：
 * 1
 * 解释：[2,4] 是一个大小为 2 的子数组，并且和为 6 。
 * 输入样例2:
 * 在这里给出一组输入。例如：
 * 23,2,6,4,7
 * 6
 * 输出样例2:
 * 在这里给出相应的输出。例如：
 * 1
 * 解释：[23, 2, 6, 4, 7] 是大小为 5 的子数组，并且和为 42 。 42 是 6 的倍数，因为 42 = 7 * 6 且 7 是一个整数。
 * 输入样例3:
 * 在这里给出一组输入。例如：
 * 23,2,6,4,7
 * 13
 * 输出样例3:
 * 在这里给出相应的输出。例如：
 * 0
 */
public class Main_1 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String input = scanner.nextLine();
        int k = scanner.nextInt();
        int[] nums = Arrays.stream(input.split(",")).mapToInt(Integer::parseInt).toArray();
        int length = nums.length;
        for (int i = 0; i < length - 1; i++) {
            int sum = 0;
            for (int j = i + 1; j < length; j++) {
                sum += nums[j];
                if (sum % k == 0) {
                    System.out.println(1);
                    return;
                }
            }
        }
        System.out.println(0);
    }
}
